#include <bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=8e5+5,inf=1e18;
int n,a,b,c,val[maxn],ans,dis[2010][2010],al;
int tot,to[maxn<<1],ne[maxn<<1],head[maxn<<1];
int read(){
	int s=0;
	char ch=getchar(),last=' ';
	while(ch<'0'||ch>'9')
		last=ch,ch=getchar();
	while(ch>='0'&&ch<='9')
		s=(s<<1)+(s<<3)+(ch^48),ch=getchar();
	return last=='-'?-s:s;
}
void add(int a,int b){
	to[++tot]=a,ne[tot]=head[b],head[b]=tot;
	to[++tot]=b,ne[tot]=head[a],head[a]=tot;
}
void d(int u,int fa,int mi,int x){
	for(int i=head[u];i;i=ne[i]){
		int v=to[i];
		if(v!=fa){
			dis[v][x]=dis[x][v]=min(mi,val[(i+1)/2]);
			al+=dis[x][v];
			d(v,u,dis[x][v],x);
		}
	}
}
void f(int u,int fa,int x){
	ans-=dis[x][u];
	for(int i=head[u];i;i=ne[i]){
		int v=to[i];
		if(v!=fa)
			f(v,u,x);
	}
}
void solve(int u,int fa,int x,int y){
	f(y,x,u);
	for(int i=head[u];i;i=ne[i]){
		int v=to[i];
		if(v!=fa)
			solve(v,u,x,y);
	}
}
signed main(){
	freopen("tatooine.in","r",stdin);
	freopen("tatooine.out","w",stdout);
	n=read();
	for(int i=1;i<n;i++){
		a=read(),b=read(),c=read();
		add(a,b);
		val[(tot+1)/2]=c;
	}
	for(int i=1;i<=n;i++)
		d(i,0,inf,i);
	al/=2;
	for(int i=1;i<n;i++){
		ans=al;
		solve(to[i*2-1],to[i*2],to[i*2-1],to[i*2]);
		printf("%lld\n",ans);
	}
    return 0;
}


